user needs management development responsibilities software tools java financial software software development tool selection criteria information help can resource human